[レポート]【ランチセッション】クラウドサービス基盤における IaaS から PaaS への転換と効率性の追求 #AWSSummit

[レポート]【ランチセッション】クラウドサービス基盤における IaaS から PaaS への転換と効率性の追求 #AWSSummit

Clock Icon2015.06.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

今日は昨日に引き続きAWS Summit Tokyo 2015に来ております。またまたランチ狙いでキーノート後の企業AWS活用事例ランチセッションに参加したのでレポートしたいと思います。

ランチ

DSC_0006 1

セッション概要

DSC_0008 1

玉井さんの担当クラウドサービス製品

以前のシステム設計の問題

  • 膨大な開発・運用工数
    • 自社開発の様々な仕組みを持った意欲的なシステム
    • 独自システムゆえ、すべてを実現するには相当な工数が必要
    • DevとOpsが分断されている。
    • ドキュメントベースの手作業デプロイ
  • ユーザー数・データ量の増大による課題顕在化
    • 各サービスの規模が拡大
      • 費用の増大
    • DBの冗長化機能等、負荷増大で独自実装部分の問題が顕在化
      • 開発に手が回らず、メンテナンス、問題解決で忙殺

「やりたいことができない!!!!!」

「システムが止まると上司に昼でも夜でも呼び出されて止まった原因を説明しに行かないといけない(悲しみ)」

そこでちょうど1年前から改善を開始

システム再構築の方針

  • 共通基盤は最小限のものに再構築
  • サービスごとに機能を分離
    • コスト、スケーラビリティ、独立性確保
  • 開発運用チームの分割
    • それぞれの機能毎にDevOps推進

上記を「断行」することに決定!

考え方

  • 共通基盤の再定義・再実装
  • モダンなアーキテクチャ
    • 薄い共通コア
    • 適切な言語(Go、JS)
    • Shared Nothing Architectureによるスケーラビリティ
  • 少人数チームでのDevOps

目標

  1. 最先端のSaaS/PaaSの徹底活用
  2. ローカル環境で開発が簡潔
  3. テスト/品質チェックの徹底
  4. 運用の自動化と安定化

(1)最先端のSaaS/PaaSの徹底活用

  • GitHub
  • CircleCI
  • Docer Hub
  • Infrastructure as Code
  • Immutable Infrastructure

トータルのシステムを自動化

(2)ローカル環境で開発が完結

  • モックサーバーでローカルに開発環境を実現
  • Infrastructure as Codeとして環境をバージョン管理
    • 開発とプロダクション環境の差分がほぼゼロ

(これまではクラウドを使っていても開発効率が悪く、開発環境でOKでもプロダクション環境で問題が出たりしていた)

(3)テスト・品質チェックの徹底

  • 急がばまわれ
    • テストコード開発、テスト環境開発の総工数の半分以上を投入
    • 自動化の徹底
  • 作りなおすことで、テストコード不在という積みあがった問題を解消
    • 開発の当初からテストを自動化して継続
    • 開発者自身が品質を作りこみ、テストにも責任を負う
    • テストも開発者が実施するため、よりテストが用意な設計に

結果:メンテが容易になり、デグレしにくくなった。また、障害を恐れずにどんどん新機能開発が可能に

(4)運用の自動化と安定化

  • データ保全
    • 自動データ整合性チェック
    • 自動DBバックアップ
  • 過負荷対策
  • メンテナンス範囲の局所化

結果:エスカレーション、運用工数の大幅な減少

結果

  1. 最先端SaaS/PaaSの徹底活用:デプロイ時間が数日から30分に
  2. ローカル環境で開発が完結:開発が並列化され開発効率は6倍以上
  3. テスト・品質チェックの徹底:10+回のリリースを経ても停止0
  4. 運用の自動化と安定化:更新・メンテ工数は1/3、運用工数ほぼ0

まとめ

  • 手間を掛けない
    • SaaS/PaaSの利用拡大
    • 自動化の追求
  • 急がばまわれ
    • 開発環境への投資
    • 開発ツールの開発
  • 役に立つ
    • ライブラリを公開
    • Github.com/sony
      • gobreaker
        • Circuit Breaker implemented in Go
      • sonyflake
        • A distributed unique ID generator inspired by Twitter's Snowflake

最後に

AWSについて

  • ドキュメントが非常に充実していて助かった
  • SA、営業、BizDev、現AWS元Sony社員のサポートが手厚く助かりました
  • エンタープライズサポート契約

感想

個人的には日頃SCE様(神様)には大変お世話になっているのですが、SONY内のシステム開発の体制を改善してきた様子がよくわかったたセッションでした。

昨日の 富士ゼロックスのAWS活用までの道のり 同様に今後もこういった「社内のマインドを変えていった」事例はどんどん各種セミナーで話してもらって国内のユーザー企業、SIerのマインドを変えていって欲しいと思いました。

(そのほうがみんなやりたいことがやれる環境ができるし、何より技術者としてはより楽しくなると思うんですよね)

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.